package cn.sc.summer.mybatis.strategy.postgresql;

import cn.sc.summer.mybatis.enums.DataSourceTypeEnum;
import cn.sc.summer.mybatis.model.DataSourceX;
import cn.sc.summer.mybatis.table.execute.ServerExecute;
import cn.sc.summer.mybatis.strategy.basestage.ExeCuteStage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * 类名：mysql执行配置
 *
 * @author a-xin
 * @date 2024/8/29 13:15
 */
@Slf4j
@Component
public class PgsqlExecute extends ExeCuteStage implements ServerExecute {

    private static final long serialVersionUID = 6925417912301383826L;

    @Resource
    private PgsqlComparison pgsqlComparison;

    @Resource
    private PgsqlEvent pgsqlEvent;

    @Resource
    private PgsqlUtil pgsqlUtil;

    /**
     * 确定该枚举类支持的数据源类型
     *
     * @return 支持的数据源类型
     */
    @Override
    public String supports() {
        return DataSourceTypeEnum.POSTGRESQL.getType();
    }

    /**
     * 数据源信息更新新增执行接口
     *
     * @param dataSourceX 数据源信息
     */
    @Override
    public void execute(DataSourceX dataSourceX) {
        super.update(dataSourceX, pgsqlComparison, pgsqlEvent, pgsqlUtil);
    }

}
